package com.vhans.db.model.vo.record;

import com.vhans.db.model.vo.tag.TagOptionVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 首页记录VO
 *
 * @author vhans
 */
@Data
@ApiModel(description = "首页记录VO")
public class RecordHomeVO {
    /**
     * 记录id
     */
    @ApiModelProperty(value = "记录id")
    private Integer id;

    /**
     * 记录者id
     */
    @ApiModelProperty(value = "记录者id")
    private Integer userId;

    /**
     * 缩略图
     */
    @ApiModelProperty(value = "缩略图")
    private String cover;

    /**
     * 记录标题
     */
    @ApiModelProperty(value = "记录标题")
    private String title;

    /**
     * 记录类型 (1约会 2活动 3赛事 4帮忙)
     */
    @ApiModelProperty(value = "记录类型 (1约会 2活动 3赛事 4帮忙)")
    private Integer type;

    /**
     * 记录内容
     */
    @ApiModelProperty(value = "记录内容")
    private String content;

    /**
     * 记录图片
     */
    @ApiModelProperty(value = "记录图片")
    private String images;

    /**
     * 图片列表
     */
    @ApiModelProperty(value = "图片列表")
    private List<String> imgList;

    /**
     * 记录视频
     */
    @ApiModelProperty(value = "记录视频")
    private String video;

    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数")
    private Integer likeNumber;

    /**
     * 浏览量
     */
    @ApiModelProperty(value = "浏览量")
    private Integer viewCount;

    /**
     * 收藏数
     */
    @ApiModelProperty(value = "收藏数")
    private Integer collectNumber;

    /**
     * 记录标签
     */
    @ApiModelProperty(value = "记录标签")
    private List<TagOptionVO> tagVOList;

    /**
     * 上一篇记录
     */
    @ApiModelProperty(value = "上一篇记录")
    private RecordPaginationVO lastRecord;

    /**
     * 下一篇记录
     */
    @ApiModelProperty(value = "下一篇记录")
    private RecordPaginationVO nextRecord;

    /**
     * 发表时间
     */
    @ApiModelProperty(value = "发表时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
}
